// 订单详细信息
import {queryOrderDetail} from '@/api/order'
import {Indicator} from 'mint-ui'
import moment from 'moment'

export default {
  namespaced: true,
  state: {
    payMethod: '', // 支付方式
    content: '', // 交易内容简介
    assort: '', // 交易分类
    transport: '', // 物流信息
    date: moment().format('YYYY-MM-DD hh:mm'), // 创建时间
    id: '', // 订单号
    userId: '', // 用户id
    userNick: '', // 用户昵称
    userAvatar: '', // 用户头像
    sale: 0, // 销售额
    income: 0, // 收益
    loading: true // 正在加载中
  },

  mutations: {
    // 设置 payMethod 支付方式
    SET_PAY_METHOD: (state, method) => {
      state.payMethod = method
    },
    // 设置 交易内容
    SET_CONTENT: (state, content) => {
      state.content = content // string
    },
    // 设置 交易分类
    SET_ASSORT: (state, assort) => {
      state.assort = assort // string
    },
    // 设置 物流状态
    SET_TRANSPORT: (state, transport) => {
      state.transport = transport // string
    },
    // 设置 创建时间
    SET_DATE: (state, date) => {
      state.date = date // string
    },
    // 设置 订单id
    SET_ID: (state, id) => {
      state.id = id // string
    },
    // 设置用户id
    SET_USER_ID: (state, userId) => {
      state.userId = userId // string
    },
    // 设置 用户昵称
    SET_USERNICK: (state, userNick) => {
      state.userNick = userNick // string
    },
    // 设置 用户头像
    SET_USERAVATAR: (state, userAvatar) => {
      state.userAvatar = userAvatar // string
    },
    // 设置销售额
    SET_SALE: (state, sale) => {
      state.sale = sale // 两位浮点数
    },
    // 设置用户收益
    SET_INCOME: (state, income) => {
      state.income = income // 两位浮点数
    },
    // 设置loading
    SET_LOADING: (state, bool) => {
      state.loading = bool // 布尔
    }
  },

  getters: {},

  actions: {
    // 获取订单详情
    QueryOrderDetail ({state, commit, rootState}, orderId) {
      return new Promise((resolve, reject) => {
        commit('SET_LOADING', true)
        const token = rootState.main.token
        Indicator.open()
        queryOrderDetail({token, id: orderId}).then(response => {
          const data = response.data
          commit('SET_PAY_METHOD', data.payMethod) // 支付方式
          commit('SET_CONTENT', data.content) // 交易内容
          commit('SET_ASSORT', data.assort) // 交易分类
          commit('SET_TRANSPORT', data.transport) // 物流状态
          commit('SET_DATE', moment(data.date).format('YYYY-MM-DD hh:mm')) // 创建时间
          commit('SET_ID', data.id) // 订单id
          commit('SET_USER_ID', data.userId) // 用户id
          commit('SET_USERNICK', data.userNick) // 用户昵称
          commit('SET_USERAVATAR', data.userAvatar) // 用户头像
          commit('SET_SALE', data.sale) // 销售额
          commit('SET_INCOME', data.income) // 收益
          commit('SET_LOADING', false) // 加载中
          Indicator.close()
          resolve()
        }).catch(error => {
          Indicator.close()
          commit('SET_LOADING', false)
          reject(error)
        })
      })
    },
    // 重置订单详情 用户离开时重置
    ResetOrderDetail ({commit}) {
      commit('SET_PAY_METHOD', '') // 支付方式
      commit('SET_CONTENT', '') // 交易内容
      commit('SET_ASSORT', '') // 交易分类
      commit('SET_TRANSPORT', '') // 物流状态
      commit('SET_USER_ID', '') // 用户id
      commit('SET_DATE', moment().format('YYYY-MM-DD hh:mm')) // 创建时间
      commit('SET_ID', '') // 订单id
      commit('SET_USERNICK', '') // 用户昵称
      commit('SET_USERAVATAR', '') // 用户头像
      commit('SET_SALE', 0) // 销售额
      commit('SET_INCOME', 0) // 收益
    }
  }
}
